package com.hulk.dryad.persistence.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import com.hulk.dryad.persistence.entity.ProcessInstanceModel;
import org.activiti.api.model.shared.model.VariableInstance;

import java.util.List;
import java.util.Map;


/**
 *  流程实例处理
 *
 * @author hulk
 * @date 2020-10-18 17:18:42
 */
public interface IProcessInstanceService {


    public IPage<ProcessInstanceModel> getProcessInstancePage(Page page, ProcessInstanceModel instance);

	public ProcessInstanceModel startProcess(String processDefinitionKey,
											 String instanceName,
			 									String businessKey,
											 Map<String, Object> variables) ;

    public ProcessInstanceModel getInstance(String instanceId);


    public ProcessInstanceModel removeInstance(String instanceId);




	public ProcessInstanceModel suspendInstance(String instanceID);

	public ProcessInstanceModel activeInstance( String instanceID);

	public List<VariableInstance> getVariables(String instanceID);
}
